**************************************************************************
*																		*
*			Campaign Panel Book Chapter 5 - Fixed-Effects Regression Turnout 2013								*
*																		*
*************************************************************************



cd "${path}\Reproducible Do-Files\Chapter 5\Data"
use longformat13.dta, clear
xtset lfdn welle


local kommunikation watcheddebate wahlomatg wahlarenag_mg wahlarenag_sg gesprhin pk_gesamtino pr_bild i_nupol pr_paper pr_andz tv_oeff tv_privat m_gesamti
local attitudes wkampfint intefficacy extefficacy zufr entfremda indiff
local time w2 w3 w4 w5 w6 w7

* Only obsevations (wave) with valid measures in both IV-blocks
egen miss = rowmiss(wwbt `kommunikation' `attitudes')

fre miss
drop if miss~=0
fre miss

* Variable indicating whether a respondent has 7 valid observations					
bysort lfdn: egen total = total(allvalid)

* Delete respondents with only a single valid combination of IV and DV
* (combination valid at only one point in time), otherwise they will be
* included in the linear fixed-effects regression			
bysort lfdn: egen count = count(miss)	//Count observations per respondent
fre count	

list lfdn welle miss count in 1/100, sepby(lfdn)

drop if count==1


* Estimate profit for number of cases
est clear
eststo: xtreg wwbt `attitudes' `time' if wwbttyp!=0, fe
eststo: xtreg wwbt `attitudes' `time' if wwbttyp!=0 & total==7, fe


*-------------------------------------------
* Table 44: Comparison Stable and Instable
*--------------------------------------------------------

cd "${path}\Reproducible Do-Files\Chapter 5"

* Stables	
est clear
eststo: estpost sum wwbt watcheddebate wahlomatg if wwbttyp==0 & welle==7
eststo: estpost sum polint nopid wkampfint intefficacy extefficacy ///
	indiff entfremda if wwbttyp==0 & welle==1



* Instables
eststo: estpost sum wwbt watcheddebate wahlomatg if wwbttyp~=0 & welle==7	
eststo: estpost sum polint nopid wkampfint intefficacy extefficacy ///
	indiff entfremda if wwbttyp~=0 & welle==1

	
esttab using "Stable vs. unstable 2013.rtf", cells(mean(fmt(2))) ///
	mtitles("stable" "stable" "FE-sample" "FE-sample")	///
	coeflabel(wwbt "% Turnout" watcheddebate "% TV Debate" ///
	wahlomatg "% Used VAA" polint "Mean political interest" ///
	nopid1 "% No PID" wkampfint "Mean campaign interest" ///
	intefficacy "Mean internal efficacy" ///
	extefficacy "Mean external efficacy" indiff "Mean indifference" ///
	entfremda  "Mean Alienation") replace



sum wwbt watcheddebate wahlomatg polint nopid wkampfint intefficacy extefficacy indiff entfremda if wwbttyp==0 & welle==1
	
sum wwbt watcheddebate wahlomatg polint nopid wkampfint intefficacy extefficacy indiff entfremda if wwbttyp~=0 & welle==1	
	
*-----------------------------------------------
* Models for tables 45 & 46
*-----------------------------------------------	
	
	
* Model 1: Attitudes
est clear
eststo: xtreg wwbt `attitudes' `time', fe
eststo: xtreg wwbt `attitudes' `time' if wwbttyp!=0, fe
eststo: xtreg wwbt `attitudes' `time' if wwbttyp==1, fe
eststo: xtreg wwbt `attitudes' `time' if wwbttyp==-1, fe

esttab using wbt2013.rtf, b(2) se title("Erklärung Wahlbeteiligung. Modell 1: Einstellungen") ///
	mtitle("alle" "Varianz auf Wbt" "increasing" "decreasing") ///
	sca(N N_g r2) replace drop(_cons) ///
	note("Lineare FE-Panelregression (OLS). Unstandardisierte Regressionskoeffizienten und Standardfehler." ///
	"Spalten 3-4 addieren sich nicht zu Spalte 2 auf, weil für Personen mit fluktuierendem individuellem Trend kein separates Modell gerechnet wurde")


* Model 2
est clear
eststo: xtreg wwbt `kommunikation' `time', fe
eststo: xtreg wwbt `kommunikation' `time' if wwbttyp!=0, fe
eststo: xtreg wwbt `kommunikation' `time' if wwbttyp==1, fe
eststo: xtreg wwbt `kommunikation' `time' if wwbttyp==-1, fe

esttab using wbt2013.rtf, b(2) se title("Erklärung Wahlbeteiligung. Modell 1: Kommunikation") ///
	mtitle("alle" "Varianz auf Wbt" "increasing" "decreasing") ///
	sca(N N_g r2) append drop(_cons) ///
	note("Lineare FE-Panelregression (OLS). Unstandardisierte Regressionskoeffizienten und Standardfehler." ///
	"Spalten 3-4 addieren sich nicht zu Spalte 2 auf, weil für Personen mit fluktuierendem individuellem Trend kein separates Modell gerechnet wurde")



* Model 3
est clear
eststo: xtreg wwbt `attitudes'  `kommunikation' `time', fe
eststo: xtreg wwbt `attitudes' `kommunikation' `time' if wwbttyp!=0, fe
eststo: xtreg wwbt `attitudes' `kommunikation' `time' if wwbttyp==1, fe
eststo: xtreg wwbt `attitudes' `kommunikation' `time' if wwbttyp==-1, fe

esttab using wbt2013.rtf, b(2) se title("Erklärung Wahlbeteiligung. Modell 3: Einstellungen + Kommunikation") ///
	mtitle("alle" "Varianz auf Wbt" "increasing" "decreasing") ///
	sca(N N_g r2) append drop(_cons) ///
	note("Lineare FE-Panelregression (OLS). Unstandardisierte Regressionskoeffizienten und Standardfehler." ///
	"Spalten 3-4 addieren sich nicht zu Spalte 2 auf, weil für Personen mit fluktuierendem individuellem Trend kein separates Modell gerechnet wurde")


*------------------------------------------------------------------
* Split party identification vs. no party identification (table 48)
*------------------------------------------------------------------


est clear
eststo: xtreg wwbt `attitudes' `time' if nopid==0 & wwbttyp!=0, fe
eststo: xtreg wwbt `attitudes' `time' if nopid==1 & wwbttyp!=0, fe

esttab using wbt2013.rtf, b(2) se ///
	title("Erklärung Wahlbeteiligung. Modell 1: Einstellungen. Split by PID") ///
	mtitle("PID" "no PID") ///
	sca(N N_g r2) append drop(_cons) ///
	note("Lineare FE-Panelregression (OLS). Unstandardisierte Regressionskoeffizienten und Standardfehler. Nur Personen mit Varianz auf AV")


est clear
eststo: xtreg wwbt `kommunikation' `time' if nopid==0 & wwbttyp!=0, fe
eststo: xtreg wwbt `kommunikation' `time' if nopid==1 & wwbttyp!=0, fe	


esttab using wbt2013.rtf, b(2) se ///
	title("Erklärung Wahlbeteiligung. Modell 2: Kommunikation. Split by PID") ///
	mtitle("PID" "no PID") ///
	sca(N N_g r2) append drop(_cons) ///
	note("Lineare FE-Panelregression (OLS). Unstandardisierte Regressionskoeffizienten und Standardfehler. Nur Personen mit Varianz auf AV")


est clear
eststo: xtreg wwbt `attitudes'  `kommunikation' `time' ///
	if nopid==0 & wwbttyp!=0, fe
eststo: xtreg wwbt `attitudes'  `kommunikation' `time' ///
	if nopid==1 & wwbttyp!=0, fe
	
esttab using wbt2013.rtf, b(2) se ///
	title("Erklärung Wahlbeteiligung. Modell 3: Einstellungen + Kommunikation. Split by PID") ///
	mtitle("PID" "no PID") ///
	sca(N N_g r2) append drop(_cons) ///
	note("Lineare FE-Panelregression (OLS). Unstandardisierte Regressionskoeffizienten und Standardfehler. Nur Personen mit Varianz auf AV.")

	
*------------------------------------------------
* Split Political interest (table 47)
*------------------------------------------------	


est clear
foreach num of numlist -1 0 1 {
eststo: xtreg wwbt `attitudes' `time' if polintsplit==`num' & wwbttyp!=0, fe
}

esttab using wbt2013.rtf, b(2) se ///
	title("Erklärung Wahlbeteiligung. Modell 1: Einstellungen. Split by political interest") ///
	mtitle("low interest" "medium interest" "high interest") ///
	sca(N N_g r2) append drop(_cons) ///
	note("Lineare FE-Panelregression (OLS). Unstandardisierte Regressionskoeffizienten und Standardfehler. Nur Personen mit Varianz auf AV")


est clear
foreach num of numlist -1 0 1 {
eststo: xtreg wwbt `kommunikation' `time' if polintsplit==`num' & wwbttyp!=0, fe
}	
	
esttab using wbt2013.rtf, b(2) se ///
	title("Erklärung Wahlbeteiligung. Modell 2: Kommunikation. Split by political interest") ///
	mtitle("low interest" "medium interest" "high interest") ///
	sca(N N_g r2) append drop(_cons) ///
	note("Lineare FE-Panelregression (OLS). Unstandardisierte Regressionskoeffizienten und Standardfehler. Nur Personen mit Varianz auf AV")


	
est clear
foreach num of numlist -1 0 1 {
eststo: xtreg wwbt `attitudes' `kommunikation' `time' if polintsplit==`num' & wwbttyp!=0, fe
}	
	
esttab using wbt2013.rtf, b(2) se ///
	title("Erklärung Wahlbeteiligung. Modell 3: Einstellungen + Kommunikation. Split by political interest") ///
	mtitle("low interest" "medium interest" "high interest") ///
	sca(N N_g r2) append drop(_cons) ///
	note("Lineare FE-Panelregression (OLS). Unstandardisierte Regressionskoeffizienten und Standardfehler. Nur Personen mit Varianz auf AV.")

